# 从excel抽取信息生成二维码信息然后输出为pdf
from STRINGS import *
import handleExcel as excel
import handleQRPDF as pdf
import os

DEBUG = False

stuInfo = []


def getFileNameAndPath(path):
    a = 0
    b = 0
    for i in range(1, len(path)):
        if path[-i] == '.':
            b = -i
            break
    for i in range(-b, len(path)):
        if path[-i] == '/' or path[-i] == '\\':
            a = -i + 1
            break
    return path[a:b], path[:a-1]


if __name__ == '__main__':
    if not DEBUG:
        os.system('cls')
    print('版本号{}'.format(VERSION_INFO))
    print('欢迎使用“查查作业”微信小程序配套软件，本软件功能为根据excel信息生成二维码，并将二维码信息输出到PDF内。\n')
    stuInfo = EXAMPLE_STU_INFO
    excel.generateExampleExcel(stuInfo, os.getcwd())  # 生成示例excel文档
    print('已在程序所在目录内生成“二维码生成数据样例.xlsx”文件，您可参照该文件制作数据来源。\n'
          '要点：\n'
          '1、数据存放的工作簿名称必须是“Sheet1”；\n'
          '2、第一行为表头信息，实际数据应从第二行开始；\n'
          '3、数据第一列为ID，第二列为姓名，第三列为生成二维码的数量。\n'
          '\n')
    while 1:
        excelPath = input('请输入待解析的excel文件路径（可将文件拖入此处实现快速填充）:')  # 读入文件路径
        fileName, filePath = getFileNameAndPath(excelPath)  # 获得文件名称和所在目录
        # print(fileName, filePath)
        stuInfo = excel.analyseExcel(excelPath)  # 读取excel内容
        # print(stuInfo)
        pdf.generatePDF(stuInfo, os.path.join(filePath, fileName+'.pdf'), DEBUG)
        if not DEBUG:
            os.system('cls')
        print('已在输入文件所在文件夹生成同名pdf文件（{}）'.format(fileName+'.pdf'))
        print()
